/* 
 * File:   TablaTransiciones.h
 * Author: Dianita
 *
 * Created on 3 de noviembre de 2013, 05:37 PM
 */

#ifndef TABLATRANSICIONES_H
#define	TABLATRANSICIONES_H
#include <list>
#include "Estado.h"
#include "Letra.h"
#include "Transicion.h"
#include "Separador.h"

class TablaTransiciones {
public:

    TablaTransiciones();
    TablaTransiciones(list<Estado> estados, list<Letra> alfabeto, list<Separador> separadores, list<Transicion> transacciones);
    void setEstados(list<Estado> estados);
    list<Estado> getEstados();
    void setAlfabeto(list<Letra> alfabeto);
    list<Letra> getAlfabeto();
    void setSeparadores(list<Separador> separadores);
    list<Separador> getSeparadores();
    void setTransiciones(list<Transicion> transiciones);
    list<Transicion> getTransiciones();
    void setTamanioTablaTransicion(int filas, int columnas);
    void construirMatriz(int filas, int columnas);
    void imprimirMatriz();

private:
    list<Estado> estados;
    list<Letra> alfabeto;
    list<Separador> separadores;
    list<Transicion> transiciones;
    int tamanioFilas;
    int tamanioColumnas;
    string tablaTransiciones[17][21];
};

#endif	/* TABLATRANSICIONES_H */

